Попередня сторінка: 14. Операції з елементами списку в Python
Наступна сторінка: 16. Елемент керування ListBox в Python
Як у Python перетворити список рядків на список чисел за допомогою одного рядка коду?
На минулих уроках ми навчилися виконувати дії зі списками, створеними в програмному коді. А якщо ми хочемо, щоб значення елемента списку вводив користувач?
для цього є кілька способів. Наприклад, ці значення можна ввести і зчитати з консолі як звичайний текстовий рядок, а в графічному інтерфейсі елементи списку можна ввести та зчитати з текстового поля.
Завдання № 1
Наведений нижче код дає користувачу можливість ввести послідовність чисел через кому, а потім перетворює отриманий рядок на числовий список.
1) Дізнайся з рубрики «Запитання-відповіді», як перетворити текстовий рядок на список і заповни пропуски в коді:
2) Спробуй описати послідовність дій, які виконуються в рядку
Для цього дай відповіді на питання:
Що буде міститися у змінній spysok, якщо користувач ввів рядок 2,3,5,6?
Яких значень набуває змінна і, якщо користувач ввів рядок 2,3,5,6? Для чого у коді використовується функція into?
Яких значень набуватиме вираз int(i), якщо користувач ввів рядок 7,8,9,10?
Що буде міститися у змінній spysok_number, якщо користувач ввів рядок 7,8,9,10?
1) Реалізуй на практиці код із завдання № 1. Запусти його, введи текст 1,2,3,4,5 і перевір, чи відображається такий результат:
Введіть елементи списку в одному рядку через кому 1, 2, 3, 4, 5
Ви ввели - 1, 2, 3, 4, 5
Створено список, елементи якого є типу str:
['1', '2', '3', '4', '5']
Числовий список:
[1, 2, 3, 4, 5]
2) Ти вже вмієш опрацьовувати числовий список, використовуючи функції max, min та sum. Доповни код, щоб в результаті його реалізації було виведено максимальне, мінімальне та середнє значення числового списку.
Завдання № 3
Користувачу простіше буде вводити елементи списку не через кому, а через пропуск. Як ти думаєш, що потрібно змінити у коді з попереднього завдання?
Реалізуй в програмному середовищі змінений тобою код.
Завдання № 4
Зміни код із попереднього завдання так, щоб користувач сам визначав, який символ буде розділювачем у рядку для елементів списку.
Завдання № 5
Повторимо основні команди створення графічного інтерфейсу програми з 8 класу. Проаналізуй наведений нижче фрагмент програми, а також результат його виконання, і поясни призначення кожного рядка коду:
Якщо виникають складнощі, скористайся рубрикою «Запитання-від-повіді».
Реалізуй у Python створення зображеного вище вікна програми з текстовим полем і кнопкою.
Завдання № 7
1) Заповни пропуски в коді введення списку з текстового поля та виведення його у вікні консолі:
2) Поясни, які рядки коду виконуються в разі натискання кнопки 'Обчислити'.
Завдання № 8
Реалізуй код із завдання № 7 на практиці. Перевір результат роботи програми:
ЗАПИТАННЯ-ВІДПОВІДІ
Як перетворити рядок на список?
Щоб перетворити рядок на список, потрібно до цього рядка застосувати метод split. Його аргументом є символ-роздільник, за яким рядок поділяється на підрядки. Ці підрядки стають елементами списку.
Наприклад, ось як за допомогою методу split перетворити на список рядок '24/09/2021' :
Якщо дописати до вищенаведеного коду print(spysok), то отримаємо такий результат:
Як реалізувати введення списку користувачем?
Можна ввести рядок у якусь змінну з консолі, а потім перетворити значення цієї змінної на список:
Якщо не потрібно зберігати введений текст, можна обійтися лише одним рядком коду:
Якщо у методі split не вказувати ніякого аргументу, то роздільником вважатиметься символ пропуску. Це корисно, наприклад, тоді, коли потрібно перетворити речення на список слів:
Як перетворити список рядків на числовий список?
Для перетворення елементів списку у цілочисловий тип даних можна скористатися класичним перебором елементів списку, який ми розглядали в попередньому параграфі за допомогою циклу for та функції перетворення на цілочисловий тип intQ :
У Python існує і більш компактний спосіб такого перетворення:
ЗАПИТАННЯ НА ПОВТОРЕННЯ МАТЕРІАЛУ 8 КЛАСУ
Як створюється вікно програми?
1. Підключається модуль tkinter.
2. За допомогою конструктора Tk створюється вікно.
як створити текстове поле у вікні?
За допомогою конструктора Entry та методу pack(), що розташує створене поле у вікні:
як створити кнопку у вікні?
За допомогою конструктора Button та методу pack().
Як опрацьовувати подію натискання кнопки?
1. Потрібно створити обробник події — функцію, яка виконуватиметься в разі натискання кнопки.
2. У конструкторі кнопки потрібно вказати параметр command, якому присвоїти ім'я функції-обробника події натискання кнопки.
Як зчитати з текстового поля дані, введені користувачем?
За допомогою методу get():
ПЕРЕВІР СЕБЕ
1. Запиши одним рядком код перетворення списку чисел а на список b рядків, що подають ці числа в текстовому вигляді.
2. Проаналізуй кожен рядок коду та визнач, за допомогою якого з них можна створити список дійсних чисел, записаних у текстовому полі ent через пропуск.
3. Минулого уроку ми створювали список середнього курсу бітко-їна за місяцями 2020 року безпосередньо в коді. Зроби цю програму більш універсальною, а саме:
забезпеч введення списку курсу валюти з текстового поля, щоб користувач мав можливість вводити послідовність чисел;
доповни код для виведення середнього значення введених чисел у написі;
доповни код для того, щоб вивести в написі кількість місяців, у яких відбувалося підвищення курсу у порівнянні з попереднім місяцем. Якщо не пам'ятаєш, як виводити в написі текст, скористайся рубрикою «Запитання-відповіді» з наступного розділу.
4. Створи програму із зображеним на малюнку інтерфейсом. У ній користувач вводить у текстове поле послідовність розділених пробілами чисел, натискає кнопку «Обчислити» — і програма виводить у написі праворуч послідовність різниць між сусідніми елементами введеного списку.
5. Порівняй введення списку за допомогою текстового поля в графічному інтерфейсі та введення списку за допомогою рядка в консольному режимі. Назви переваги та недоліки.
6. Порівняй два способи перетворення списку рядків на список чисел, наведені в рубриці «Запитання-відповіді». Який спосіб кращий? Аргументуй свою думку.
Це матеріал з підручника Інформатика 9 клас Коршунова 2022
Наступна сторінка: 16. Елемент керування ListBox в Python